package classes;

public class Main {

	/**
	 * @param args
	 * @throws Exception 
	 */
	public static void main(String[] args) throws Exception {
		String dirImage = "C:/Users/freitas/workspace/PDI/lista-1/teste.jpg";
		
		System.out.println("Processando...");
		
		double [][][] origem = Util.lerImagemColorida(dirImage);
		double [][] image = Util.retornaImagemCinza(origem);
		
		double [][] imResult = Operations.espectroFrequencia(image);
		Util.salvaImagem("C:/Users/freitas/workspace/PDI/lista-1/teste.bmp", imResult);
		
		
		
		/*double [][] imagemMedia = Operations.returnAverage(image,janelaMedia);
		double [][] imagemMediana = Operations.returnMedian(image, janelaMediana);
		double [][] imagemHistogramaEqualizado = Operations.histogramEqualization(image);
		double [][] imagemRealceEstatLocais = Operations.realceEstatisticasLocais(image, 3, 4, 0.1, 0, 0.3);
		double [][] imagemSobel = Operations.applySobelOperator(image);
		double [][] imagemLaplace = Operations.aplicarLaplace(image);
		double [][] imagemMediaGeometrica = Operations.applyAverageGeometry(image, 9);
		double [][] imagemPontoMedio = Operations.applyAvaragePoint(image, 9);
		//double [][] imagemContraHarmonica = Operations.applyAvarageContraHarmonic(image, 3, -1.6);
		//double [][] imagemContraHarmonica1 = Operations.applyAvarageContraHarmonic(image, 3, -0.6);
		//double [][] imagemContraHarmonica2 = Operations.applyAvarageContraHarmonic(image, 3, 0.6);
		//double [][] imagemContraHarmonica3 = Operations.applyAvarageContraHarmonic(image, 3, 1.6);
		
		//Util.salvaImagem("gato_media_"+janelaMedia+".bmp", imagemMedia);
		//Util.salvaImagem("circuito2_"+janelaMediana+".bmp", imagemMediana);
		//Util.salvaImagem("gato_equalizado.bmp", imagemHistogramaEqualizado);
		//Util.salvaImagem("gato_realce_estat_locais.bmp", imagemRealceEstatLocais);
		//Util.salvaImagem("gato_sobel.bmp", imagemSobel);
		//Util.salvaImagem("gato_laplace.bmp", imagemLaplace);
		//Util.salvaImagem("figura1_media_geometrica.bmp", imagemMediaGeometrica);
		//Util.salvaImagem("figura1_pontoMedio.bmp", imagemPontoMedio);
		/*
		Util.salvaImagem("circuito3_contraHarmonica.bmp", imagemContraHarmonica);
		Util.salvaImagem("circuito3_contraHarmonica1.bmp", imagemContraHarmonica1);
		Util.salvaImagem("circuito3_contraHarmonica2.bmp", imagemContraHarmonica2);
		Util.salvaImagem("circuito3_contraHarmonica3.bmp", imagemContraHarmonica3);*/
		
		//double [][] imageFreq = Operations.espectroFrequencia(image);
		//Util.salvaImagem("gato_frequencia.bmp", imageFreq);
		
		//lista 3
		/*double [][] elem = {{0,1,0},{1,1,1},{0,1,0}};
		double [][] imagemDilatada = Operations.applyDilation(image, elem);
		double [][] elem2 = {{1,1,1},{1,1,1},{1,1,1}};
		double [][] imagemErodida = Operations.applyErosion(image, elem2);
		Util.salvaImagem("imagemDilatada.bmp", imagemDilatada);
		Util.salvaImagem("imagemErodida.bmp", imagemErodida);*/
		
		
		/*lista 4
		Util.salvaImagem("fabricaBinarizada.bmp", Operations.binarizacaoOtsu(image));*/
		System.out.println("Concluido!");

	}

}
